<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Title</title>
</head>
<body>

</body>
<script>
	// Null的环境：
	// * 对象原型链的终点
	// {
	// 1
	// function Box(){
	//
	// }
	// const obj = new Box();
	// console.log(obj.__proto__ === Box.prototype);// true
	// console.log(Box.prototype.__proto__ === Object.prototype);// true
	// console.log(Object.prototype.__proto__);// null
	
	
	// 2
	// const userName = "lisi";
	// console.log(userName.__proto__ === String.prototype);// true
	// console.log(String.prototype.__proto__ === Object.prototype);// true
	// console.log(Object.prototype.__proto__ === null);// true
	// }
	// * 获取不到DOM元素
	// {
	// 	const p = document.querySelector("p");
	// 	console.log(p);// null
	// }
	// {
	// 	console.log(localStorage.getItem("userName"));// null
	// 	console.log(localStorage["userName"]);// undefined
	// 	console.log(localStorage.userName);// undefined
	// }
	
	
	// Null的使用场景：
	// * 作为函数的参数，当你不想传，或者是不需要传参数时，可以使用null.
	{
		// function fn(a,b){
		//
		// }
		// fn(null,2);
	}
	// * 赋值
	{
		// let a = null;
	}
	// * 内存回收
	{
		let a = 100;
		let obj = {
		
		}
		let number = 2;
		
		a = obj = number = null;
		let btn = document.querySelector("button");
		btn.onclick = function(){
			btn = null;
		}
	}
</script>
</html>